Analysis of Irregular Single-Indexed Array Accesses and Its Applications in Compiler Optimizations
نویسندگان
چکیده
Many compiler techniques require analysis of array subscripts to determine whether a transformation is legal. Traditional methods require the array subscript expressions to be expressed as closedform expressions of loop indices. Most methods further require the subscript expressions to be linear. However, in sparse/ irregular programs, closed-form expressions of array subscripts are not available. More powerful methods to analyze array subscripts are needed. Array accesses with no closed-form expressions available are called irregular array accesses. In real programs, many irregular array accesses are single-indexed. In this paper, we present techniques to analyze irregular single-indexed array accesses. We show that single-indexed array accesses often have properties that are useful in compiler analysis. We discuss how to use these properties to enhance compiler optimizations. We also demonstrate the application of these techniques in three real-life programs to exploit more implicit parallelism.
منابع مشابه
An E cient Uniform Run - time Scheme for Mixed Regular - IrregularApplications
Almost all applications containing indirect array addressing (irregular accesses) have a substantial number of direct array accesses (regular accesses) too. A conspicuous percentage of these direct array accesses usually require inter-processor communication for the applications to run on a distributed memory multicomputer. This study highlights how lack of a uniform representation and lack of ...
متن کاملEvaluation of Compiler and Runtime Library Approaches for Supporting Parallel Regular Applications
Important applications including those in computational chemistry, computational fluid dynamics, structural analysis and sparse matrix applications usually consist of a mixture of regular and irregular accesses. While current state-of-the-art run-time library support for such applications handles the irregular accesses reasonably well, the efficacy of the optimizations at run-time for the regul...
متن کاملAn Overview of Compiler Techniques for Interprocedural Array Section Analysis
Dependence analysis of arrays is crucial in the compilation of parallel applications, as an inaccurate summary of array usage may reduce the potential for optimizations. Standard scalar techniques are inadequate for they do not accommodate speci c accesses to arrays. Array section analysis describes accesses to arrays at a ner granularity than the scalar techniques. More precisely, array sectio...
متن کاملARRAY COMPOSITION AND DECOMPOSITION FOR OPTIMIZING EMBEDDED APPLICATIONSy
Optimizing array accesses is extremely critical in embedded computing as many embedded applications make use of arrays (in form of images, video frames, etc). Previous research considered both loop and data transformations for improving array accesses. However, data transformations considered were mostly limited to linear data transformations and array interleaving. In this paper, we introduce ...
متن کامل